#include <iostream>
#include "TcpServer.hpp"
#include "ServerCal.hpp"
#include "log.hpp"
#include <string>
#include <jsoncpp/json/json.h>

int main()
{
    Json::Value part1;// Json::Value是Jsoncpp库提供的一个类，用于表示JSON对象
    part1["haha"] = "haha";//Json::Value可以存储键值对
    part1["hehe"] = "hehe";


    Json::Value root;
    root["x"] = 100;
    root["y"] = 200;
    root["op"] = '+';
    root["desc"] = "this is a + oper";
    root["test"] = part1;//还可以嵌套一个 Json::Value对象

    //Json::FastWriter w;//FastWriter无换行符
    Json::StyledWriter w;//StyledWriter会格式化输出，包含换行符和缩进
    std::string res = w.write(root);

    std::cout << res << std::endl;

    sleep(3);

    Json::Value v;
    Json::Reader r;
    r.parse(res, v);

    int x = v["x"].asInt();
    int y = v["y"].asInt();
    char op = v["op"].asInt();
    std::string desc = v["desc"].asString();
    Json::Value temp = v["test"];
    std::cout << x << std::endl;
    std::cout << y << std::endl;
    std::cout << op << std::endl;
    std::cout << desc << std::endl;

    return 0;
}